package com.kaili.basic.mapper;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.kaili.basic.pojo.dto.MdmOrgQueryByPageDto;
import com.kaili.basic.pojo.dto.MdmOrgQueryDto;
import com.kaili.basic.pojo.entity.MdmOrgEntity;
import com.kaili.basic.pojo.vo.MdmOrgQueryAllVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
/**
 * @Desc: 组织机构mapper
 * @author: TBS
 * @Time: 2019/8/1 18:50
 * @Copyright: © 2018 杭州凯立通信有限公司 版权所有
 * @Warning: 本内容仅限于公司内部传阅,禁止外泄或用于其它商业目的
 */
@Mapper
public interface OrgMapper extends BaseMapper<MdmOrgEntity> {
    /**
    * @Desc: 分页
    * @author: TBS
    * @Time: 2019/8/9 15:09
    * @param page
    * @param mdmOrgQueryByPageDto
    * @return java.util.List<com.kaili.basic.pojo.vo.MdmOrgQueryAllVo>
    */
    List<MdmOrgQueryAllVo> queryPageList(Page<MdmOrgQueryAllVo> page, MdmOrgQueryByPageDto mdmOrgQueryByPageDto);

    /**
    * @Desc: 增加
    * @author: TBS
    * @Time: 2019/8/9 15:09
    * @param mdmOrgEntity
    * @return void
    */
    void add(MdmOrgEntity mdmOrgEntity);

    /**
    * @Desc:  去重
    * @author: TBS
    * @Time: 2019/8/9 15:09
    * @param mdmOrgEntity
    * @return java.lang.Integer
    */
    Integer queryDprvOrg(MdmOrgEntity mdmOrgEntity);

    /**
    * @Desc: 修改
    * @author: TBS
    * @Time: 2019/8/9 15:09
    * @param mdmOrgEntity
    * @return void
    */
    void update(MdmOrgEntity mdmOrgEntity);

    /**
    * @Desc: 删除
    * @author: TBS
    * @Time: 2019/8/9 15:10
    * @param id
    * @return void
    */
    void delete(@Param("id") int id);

    /**
    * @Desc: 导入时  通过ID 查询名称
    * @author: TBS
    * @Time: 2019/8/9 15:10
    * @param name
    * @return int
    */
    int getOrgIdByName(String name);

    /**
    * @Desc: 通过SQL查询数据库中编码的最大值
    * @author: TBS
    * @Time: 2019/8/9 15:10
    *
    * @return java.lang.String
    */
    String getCode();

    /**
    * @Desc:  查询Org表中的code和name
    * @author: TBS
    * @Time: 2019/8/9 18:50
    *
    * @return com.kaili.basic.pojo.entity.MdmOrgEntity
    */
    List<MdmOrgEntity>  getCodeName();

    /**
    * @Desc:  导出
    * @author: TBS
    * @Time: 2019/8/9 15:10
    * @param mdmOrgQueryByPageDto
    * @return java.util.List<com.kaili.basic.pojo.vo.MdmOrgQueryAllVo>
    */
    List<MdmOrgQueryAllVo> queryOrgExport(MdmOrgQueryByPageDto mdmOrgQueryByPageDto);

    /**
    * @Desc:  条件查询mdm消息
    * @author: TBS
    * @Time: 2019/8/9 15:11
    * @param mdmOrgQueryDto
    * @return java.util.List<com.kaili.basic.pojo.entity.MdmOrgEntity>
    */
    List<MdmOrgEntity> queryOrgRanges(MdmOrgQueryDto mdmOrgQueryDto);

    /**
    * @Desc: 通过ID 查询详情
    * @author: TBS
    * @Time: 2019/8/9 15:11
    * @param id
    * @return com.kaili.basic.pojo.entity.MdmOrgEntity
    */
    MdmOrgEntity queryOrgById (int id);
}
